Routing devices within a network, often referred to as routers, maintain routing information bases (RIBs) of routing information that describe available routes through the network. Upon receiving an incoming packet, the router examines information within the packet and forwards the packet in accordance with the routing information. In order to maintain an accurate representation of the network, routers exchange routing information in accordance with one or more defined routing protocols, such as an interior gateway protocol (IGP) or a Border Gateway Protocol (BGP).
When using a link-state IGP, such as the Open Shortest Path First protocol (OSPF) or Intermediate System to Intermediate System protocol (IS-IS), each router possesses information about the complete network topology. As a network grows large, scaling within the network may be necessary to manage the amount of network topology information exchanged by routers in the network. Link-state IGP, such as IS-IS or OSPF, addresses network scaling issues by hierarchically separating a network into multiple hierarchical areas or levels so as to increase routing scalability. For example, OSPF areas or IS-IS levels may be used to hierarchically partition the network into distinct areas, such as a backbone area that includes core routers, and one or more non-backbone areas. OSPF and IS-IS allow an autonomous system to, for example, be partitioned into different areas or levels so as to increase routing scalability within a routing domain. Any IGP area or level within the partitioned network need only maintain link state for the routers within the respective area. In this way, each of the IGP areas or levels many be viewed as a separate routing domain within the partitioned network, and link state information need not generally be exchanged between all of the routers of different areas, thus reducing the link-state information in the RIB maintained by each of the routers.
Using an IGP that employs such hierarchical scaling, each router in a given area stores both topological and reachability information for only other devices in the same area, and maintains only reachability information for all other areas in the network. In some cases, network scaling may alternatively or additionally be addressed by IGPs by aggregation of network address prefixes. That is, a router carries network addresses in complete form (often referred to as “/32” addresses) for routers that are located within the same network area, and maintains aggregated network address prefixes (i.e., less than full network addresses, such as “/16” prefixes) to represent other areas within the network.
One mechanism for carrying network traffic through a network is Multi-protocol Label Switching (MPLS). MPLS works by prefixing a network packet with an MPLS header that contains a stack of one or more “labels.” Label switching routers (LSRs) forward network traffic based on the labels carried by the packets. Using MPLS, the LSRs can distribute labels and establish paths through the network, i.e., Label Switched Paths (LSPs). An LSP defines a distinct path through the network to carry MPLS packets from a source device to a destination device. Each router along an LSP allocates a label and propagates the label to the closest upstream router along the path for subsequent affixing to network traffic to form MPLS packets to be forwarded along the path. LSRs along the path cooperatively perform MPLS operations to forward the MPLS packets along the established path. A short label associated with a particular LSP is initially affixed to packets that are to travel through the network via the LSP, and that label may be replaced with subsequent labels at each LSR along the path.
A label distribution protocol such as the Label Distribution Protocol (LDP) may be used for distributing labels and establishing LSPs within a network. Using LDP, for example, a router may output control-plane LDP label mapping messages to advertise a label to neighboring routers for subsequent use in sending traffic to a particular destination associated with the advertising router. In LDP, it is required that the label map message specify the complete network address for the destination as well as the MPLS label to be used to reach the destination. Moreover, the LSPs established by LDP must strictly follow the shortest paths defined by the IGP in the RIB. In other words, LDP is not utilized to specify additional paths through a network, but is instead a protocol for distributing labels to be used to forward traffic along the shortest paths as selected by the IGP routing protocol used by the LSR, such as the OSPF or IS-IS IGP routing protocols.
Further, LDP requires that network address specified in the LDP label mapping message exactly match a network addresses contained within the RIB maintained by the router. For example, for establishing MPLS LSPs across a network area, LDP messages carry labels for full (exact) loopback addresses (/32 for IPv4) of the destination. LDP requires that the full IP loopback address carried in the label mapping message exactly match an entry in an IP routing information base (RIB) of the label switching router receiving the label mapping message. Therefore, MPLS LSPs between LSRs in different IGP areas/levels are not established unless the specific (e.g., the exact /32 for IPv4) loopback addresses of all the LSRs are redistributed across all IGP areas. This generally requires “route leaking” between the LSRs (i.e, use of a routing protocol to the exchange of routing information that otherwise would not be exchanged) so that inter-area routes and network addresses are “leaked” into the RIB of each LSR along the LSP. This can greatly expand the size of the RIB maintained by each of the LSR in order to support LDP across IGP areas (routing domains).
This can become a barrier to effective network scaling when an IGP is used across multiple areas. For example, use of LDP and MPLS forwarding would otherwise require LSRs within the network to maintain a large amount of routing state, which defeats much of the benefits of IGP scaling by way of hierarchical areas or levels. Moreover, many network service providers regard route leaking as a both a scalability issue as well as an operational problem.